package model

type AiConsultCreateRequest struct {
	Id               int64  `json:"id"`
	UserId           string `json:"user_id"`
	Level            int    `json:"level"`
	Module           int    `json:"module"`
	Content          string `json:"content"`
	ExtraContent     string `json:"extra_content"`
	UserFlag         int    `json:"user_flag"`
	LeaveMessage     string `json:"leave_message"`
	LeaveMessageRsp  string `json:"leave_message_rsp"`
	LeaveMessageFlag string `json:"leave_message_flag"`
	Scores           int    `json:"scores"`
	EvalTime         int64  `json:"eval_time"`
	SupervisorId     string `json:"supervisor_id"`
	SupervisorName   string `json:"supervisor_name"`
	EvalToSupervisor int    `json:"eval_to_supervisor"`
	Title            string `json:"title"`
	EvalContent      string `json:"eval_content"`
	QuestionId       int64  `json:"question_id"`
	ReferenceAnswer  string `json:"reference_answer"`
	PayStatus        int    `json:"pay_status"`
	QuestionScore    int    `json:"question_score"`
	CreatedAt        int64  `json:"created_at"`
	UpdatedAt        int64  `json:"updated_at"`
}
type AiConsultUpdateRequest struct {
	Id               int64   `json:"id"`
	Ids              []int64 `json:"ids"`
	UserId           *string `json:"user_id"`
	Level            *int    `json:"level"`
	Module           *int    `json:"module"`
	Content          *string `json:"content"`
	ExtraContent     *string `json:"extra_content"`
	UserFlag         *int    `json:"user_flag"`
	LeaveMessage     *string `json:"leave_message"`
	LeaveMessageRsp  *string `json:"leave_message_rsp"`
	LeaveMessageFlag *string `json:"leave_message_flag"`
	Scores           *int    `json:"scores"`
	EvalTime         *int64  `json:"eval_time"`
	SupervisorId     *string `json:"supervisor_id"`
	SupervisorName   *string `json:"supervisor_name"`
	EvalToSupervisor *int    `json:"eval_to_supervisor"`
	Title            *string `json:"title"`
	EvalContent      *string `json:"eval_content"`
	QuestionId       *int64  `json:"question_id"`
	ReferenceAnswer  *string `json:"reference_answer"`
	PayStatus        *int    `json:"pay_status"`
	QuestionScore    *int    `json:"question_score"`
	CreatedAt        *int64  `json:"created_at"`
	UpdatedAt        *int64  `json:"updated_at"`
}
type AiConsultListRequest struct {
	Id                    int64   `json:"id"`
	IsSupervisorPending   bool    `json:"is_supervisor_pending"`   // 是否是待处理
	IsSupervisorProcessed bool    `json:"is_supervisor_processed"` // 是否已处理
	UserId                *string `json:"user_id"`
	Level                 *int    `json:"level"`
	Module                *int    `json:"module"`
	Content               *string `json:"content"`
	ExtraContent          *string `json:"extra_content"`
	UserFlag              *int    `json:"user_flag"`
	LeaveMessage          *string `json:"leave_message"`
	LeaveMessageRsp       *string `json:"leave_message_rsp"`
	LeaveMessageFlag      *string `json:"leave_message_flag"`
	Scores                *int    `json:"scores"`
	GteScores             *int    `json:"gte_scores"`
	EvalTime              *int64  `json:"eval_time"`
	SupervisorId          *string `json:"supervisor_id"`
	SupervisorName        *string `json:"supervisor_name"`
	EvalToSupervisor      *int    `json:"eval_to_supervisor"`
	Title                 *string `json:"title"`
	EvalContent           *string `json:"eval_content"`
	QuestionId            *int64  `json:"question_id"`
	ReferenceAnswer       *string `json:"reference_answer"`
	CreatedAt             *int64  `json:"created_at"`
	UpdatedAt             *int64  `json:"updated_at"`
	PayStatus             *int    `json:"pay_status"`
	QuestionScore         *int    `json:"question_score"`
	Index                 int     `json:"index"`
	Size                  int     `json:"size"`
	IsUnHandler           bool    `json:"is_un_handler"`
}
type AiConsultListResponse struct {
	Total                 int              `json:"total"`
	UserUnreadCount       int              `json:"user_unread_count"`
	SupervisorUnreadCount int              `json:"supervisor_unread_count"`
	List                  []*AiConsultInfo `json:"list"`
}
type AiConsultInfoRequest struct {
	Id         int64   `json:"id"`
	UserId     *string `json:"user_id"`
	QuestionId *int64  `json:"question_id"`
}
type AiConsultInfo struct {
	Id               int64  `json:"id"`
	UserId           string `json:"user_id"`
	UserName         string `json:"user_name"`
	Level            int    `json:"level"`
	Module           int    `json:"module"`
	Content          string `json:"content"`
	ExtraContent     string `json:"extra_content"`
	UserFlag         int    `json:"user_flag"`
	LeaveMessage     string `json:"leave_message"`
	LeaveMessageRsp  string `json:"leave_message_rsp"`
	LeaveMessageFlag string `json:"leave_message_flag"`
	Scores           int    `json:"scores"`
	EvalTime         int64  `json:"eval_time"`
	SupervisorId     string `json:"supervisor_id"`
	SupervisorName   string `json:"supervisor_name"`
	EvalToSupervisor int    `json:"eval_to_supervisor"`
	Title            string `json:"title"`
	EvalContent      string `json:"eval_content"`
	QuestionId       int64  `json:"question_id"`
	ReferenceAnswer  string `json:"reference_answer"`
	PayStatus        int    `json:"pay_status"`
	QuestionScore    int    `json:"question_score"`
	CreatedAt        int64  `json:"created_at"`
	UpdatedAt        int64  `json:"updated_at"`
}
type AiConsultDeleteRequest struct {
	Id int64 `json:"id"`
}
